Power amplifier pre-distortion

ABSTRACT

A power amplifier pre-distorter is formed by a FIR filter structure that includes an individual look-up table for each filter tap, where each look-up table represents a sampled polynomial in a variable representing signal amplitude. An absolute value block selects, from each filter tap look-up table, a filter coefficient that depends on the amplitude of a corresponding complex signal value to be multiplied by the filter tap. This structure can pre-distort both for amplitude distortion and memory effects in the power amplifier.

This application is the US national phase of international application PCT/SE2004/000321, filed 5 Mar. 2004, which designated the U.S. and claims priority of SE 0300829-9, filed 25 Mar. 2003, the entire contents of each of which are hereby incorporated by reference.

TECHNICAL FIELD

The technology described here relates to implementing digital pre-distortion in power amplifiers where memory effects occur and where parameters depend on, for example, the average signal power level or device temperature.

BACKGROUND

Power amplifiers are known to distort the signal they are designed to amplify. The reason for this is that a power amplifier has a non-linear input-output signal characteristic. This shows up as a broadened spectrum around the desired amplified signal, and as an unwanted inband component of the signal. As a counter-measure to decrease the effects of non-linearity, it is known to pre-distort the signal at the input of the amplifier as to give an un-distorted amplified signal at the output of the amplifier. This technique is called pre-distortion. Pre-distortion as implemented today normally uses a look-up table that is used to multiply the signal. The entry into the table is the magnitude of the signal at every time sample.

A variation of the single look-up table approach for handling non-linearity is described in [1]. Here a FIR filter is used to handle both non-linearity and inter-symbol interference. Instead of performing the filter coefficient multiplication at each filter tap explicitly, look-up tables are used to perform this task.

Memory effects is another problem related to power amplifiers. Memory effects typically show up as a non-symmetrical spectrum around the carrier at the output of a power amplifier. That is, although the carrier (desired signal) spectrum is perfectly symmetrical, the spurious spectrum coming from the distortion may be non-symmetrical with respect to the center of the carrier.

The methods used to handle non-linearity do not take into account memory effects of the power amplifier. As the term “memory effects” indicates, there is a dependence not only on the present sample but also on previous samples of the signal. Thus, the previously used single table approach cannot take care of memory effects, but can only handle non-linearity.

Reference [2] suggests handling memory effects by using an envelope filter, which considers both the current and previous sample amplitudes in calculating a weighted multiplication coefficient that is intended to account for memory effects.

Lei Ding et. al. [3] inspired by work done by Kim and Konstantinou [4] have derived a pre-distortion method based on what they call “Memory Polynomials” that very well model memory effects. However, this method has the drawback that it requires recalculation of the memory polynomials for each new input signal amplitude, which can be computationally costly, especially if many polynomials of high order are used.

SUMMARY

An object is to provide a computationally efficient pre-distortion method based on memory polynomials.

Briefly, the technology described here is based on the insight that the memory polynomial approach can be implemented as a FIR type structure, in which the “filter taps” are replaced by look-up tables (representing sampled polynomials) triggered by the input signal amplitude. Preferably further look-up tables are used to track changes in the characteristics of the power amplifier due to, for example, heating of semi-conductor components.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating the non-linear input-output signal characteristic of a power amplifier;

FIG. 2 is a diagram illustrating the spectrum of the signal amplified by a non-linear power amplifier;

FIG. 3 is a diagram illustrating the input-output signal characteristic of a power amplifier pre-distorter for removing the non-linearity in FIG. 1;

FIG. 4 is a diagram illustrating the input-output signal characteristic of a power amplifier provided with pre-distortion;

FIG. 5 is a diagram illustrating the spectrum of the signal amplified by a non-linear power amplifier with memory;

FIG. 6 is a diagram illustrating sampling of polynomials;

FIG. 7 is a block diagram of an exemplary embodiment of a pre-distorter;

FIG. 8 is a block diagram of another exemplary embodiment of a pre-distorter;

FIG. 9 is a block diagram of another exemplary embodiment of a pre-distorter;

FIG. 10 is a block diagram of another exemplary embodiment of a pre-distorter;

FIG. 11 is a block diagram of another exemplary embodiment of a pre-distorter;

FIG. 12 is a block diagram of an exemplary embodiment of a base station including a power amplifier provided with a pre-distorter.

DETAILED DESCRIPTION

In the following description the same reference designations will be used for the same or similar elements throughout the figures of the drawings.

A brief description of the underlying problem will now be given with reference to FIGS. 1-5.

FIG. 1 illustrates the non-linear input-output signal characteristic of a power amplifier. At low input signal amplitudes the amplifier is almost linear, but at higher amplitudes it becomes more and more non-linear until it is saturated. This non-linearity shows up as a broadened spectrum around the desired amplified signal (and as an unwanted inband component of the signal), as illustrated in FIG. 2. As a counter-measure to decrease the effects of non-linearity, it is known to pre-distort the signal at the input of the amplifier to give an un-distorted amplified signal at the output of the amplifier. This technique is called pre-distortion and is illustrated in FIG. 3. The input-output signal characteristic for a pre-distorted power amplifier is essentially linear up to saturation, as illustrated in FIG. 4.

Memory effects is another problem related to power amplifiers. Memory effects typically show up as a non-symmetrical spectrum around the carrier at the output of a power amplifier, as illustrated in FIG. 5. That is, although the carrier (desired signal) spectrum is perfectly symmetrical, the spurious spectrum coming from the distortion may be non-symmetrical with respect to the center of the carrier.

There is a theoretical way of designing a pre-distorter that takes care of all memory effects. This is called the Volterra series. The Volterra series is an extension to the well-known Taylor series, which can be used as a pre-distorter for memory-less amplifiers. The Volterra series, however, also takes into account time-delayed terms that may quite accurately model the pre-distortion, and may therefore be used to suppress the distortion spectrum. However, a Volterra series quite rapidly gets large in terms of the number of possible terms in the expansion. For example, a polynomial of degree 5 with a memory depth (maximum delay) of 5 sample units will give rise to at least 500 coefficients.

Since the full Volterra series can not be implemented with reasonable complexity, an approximation based on “Memory Polynomials” has been suggested in [3]. In this approximation the pre-distortion PD(n) may be expressed as:

$\begin{matrix} {{{PD}(n)} = {\sum\limits_{k = 1}^{K}{\sum\limits_{q = 0}^{Q}{a_{kq}{x\left( {n - q} \right)}{{x\left( {n - q} \right)}}^{k - 1}}}}} & (1) \end{matrix}$ where x(n−q) denotes the delayed (by q time units) samples and a_(kq) denotes the expansion coefficients. Unfortunately this expression is still quite complicated, and a drawback of this prior art method is that the expression has to be evaluated for each new input sample x(n). However, as will be shown below, this expression may be rewritten into a more suitable form for practical implementation. The derivation essentially includes three steps:

1. Separate the double sum into partial sums including only terms with the same delay. This gives:

${{PD}(n)} = {{\sum\limits_{k = 1}^{K}{\sum\limits_{q = 0}^{Q}{a_{kq}{x\left( {n - q} \right)}{{x\left( {n - q} \right)}}^{k - 1}}}} = {\begin{matrix} {Separate} \\ {{delays}\;} \\ {into} \\ {different} \\ {sums} \end{matrix}\left\{ \begin{matrix} {= {{\sum\limits_{k = 1}^{K}{a_{k\; 0}{x(n)}{{x(n)}}^{k - 1}}} +}} \\ {{+ {\sum\limits_{k = 1}^{K}{a_{k\; 1}{x\left( {n - 1} \right)}{{x\left( {n - 1} \right)}}^{k - 1}}}} +} \\ \vdots \\ {+ {\sum\limits_{k = 1}^{K}{a_{kQ}{x\left( {n - Q} \right)}{{x\left( {n - Q} \right)}}^{k - 1}}}} \end{matrix} \right.}}$

2. Here it is noted that the delayed signals x(n−q) do not depend on the summation indices k. Thus the partial sums may be factorized into:

$\mspace{14mu}{\begin{matrix} {Factorize} \\ {k{\;\;}{and}\mspace{14mu} q} \\ {dependence} \\ {in} \\ {each} \\ {sum} \end{matrix}\left\{ \begin{matrix} {= {{{x(n)}\underset{\underset{T_{0}{({{x{(n)}}})}}{︸}}{\sum\limits_{k = 1}^{K}{a_{k\; 0}{{x(n)}}^{k - 1}}}} +}} \\ {{{+ {x\left( {n - 1} \right)}}\underset{\underset{T_{1}{({{x{({n - 1})}}})}}{︸}}{\sum\limits_{k = 1}^{K}{a_{k\; 1}{{x\left( {n - 1} \right)}}^{k - 1}}}} +} \\ \vdots \\ {{+ {x\left( {n - Q} \right)}}\underset{\underset{T_{Q}{({{x{({n - Q})}}})}}{︸}}{\sum\limits_{k = 1}^{K}{a_{kQ}{{x\left( {n - Q} \right)}}^{k - 1}}}} \end{matrix} \right.}$

3. Identify the polynomials T_(q)(|x(n−q)|) to obtain:

$\begin{matrix} {{{PD}(n)} = {\sum\limits_{q = 0}^{Q}{{x\left( {n - q} \right)}{T_{q}\left( {{x\left( {n - q} \right)}} \right)}}}} & (2) \end{matrix}$

The coefficients a_(kq) may be obtained as a least squares solution to an over-determined system of equations as described in [3].

It is noted in (2) that T_(q)(|x(n−q) |) are polynomials in the absolute value of the (complex) variable x(n−q). Thus, by multiplying each delayed complex sample x(n−q) by a polynomial in |x(n−q)| (which has the same delay q) and summing up the products for all delays q, the same end result P(n) as in [3] will be obtained. However, this new approach has the advantage that the polynomials T_(q) may be sampled at appropriate values of |x(n−q)|, as illustrated in FIG. 6, and stored in look-up tables. This will reduce the pre-distorter to a simple FIR filter structure, in which the normally constant filter coefficients are replaced by these look-up tables, as illustrated in FIG. 7.

In the non-limiting, example embodiment illustrated in FIG. 7, the complex input signal x(n) is forwarded to an absolute value block 10 and to a multiplier 12. The absolute value signal from block 10 is forwarded to a look-up table LUT0 representing a sampled version of polynomial T₀. The corresponding (generally complex) value from look-up table LUT0 is forwarded to multiplier 12, where it multiplies the input signal sample x(n). Input signal x(n) is also forwarded to a delay block D, where it is delayed one sample period for forming a delayed sample x(n−1). This delayed sample is processed in the same way as the non-delayed sample by an absolute value block 10, a multiplier 12 and a look-up table LUT1. However, look-up table LUT1 now represents a sampled version of polynomial T₁ instead of T₀. As illustrated in FIG. 7, further delays and look-up tables may be included (as indicated by the dots in the figure). Finally, the obtained products are added to each other in adders 14 to form the pre-distorted signal PD(n). The look-up tables make computation in real time much more efficient than the polynomial computation for each sample of the input signal used in [3]. The look-up tables may be updated to keep track of slow changes in the characteristics of the power amplifier.

As an example, a power amplifier with pronounced memory effects was measured and then pre-distorted with a single table pre-distorter (only the first branch with table LUT0 in FIG. 7). The simple single table pre-distorter could not resolve the non-symmetry in the measured signal spectrum at the output of the amplifier, although it improved distortion by 5-10 dB. The amplifier was then pre-distorted using a double table pre-distorter (the first two branches with tables LUT0 and LUT1 in FIG. 7). This simple extension to a double table pre-distorter had the effect of resolving the non-symmetry in the measured output signal. The improvement compared to a single table was in the order of 10 dB.

A further problem associated with power amplifiers is that rapidly (but slow in comparison to instantaneous signal variations) changing power levels on the input signal will give rise to changes in power amplifier parameters. Internal heating of semi-conductor components indirectly causes this. Therefore, a method is sought by which we can predict these changes in a fast manner, and thereafter apply these adjustments. In the discussion above, it has been assumed that the coefficients a_(kq) in the polynomials:

$\begin{matrix} {{T_{q}\left( {{x\left( {n - q} \right)}} \right)} = {\sum\limits_{k = 1}^{K}{a_{kq} \cdot {{x\left( {n - q} \right)}}^{k - 1}}}} & (3) \end{matrix}$ are constants. However, a more flexible approach would be to let the coefficients depend on a slowly varying parameter “z” representing, for example, average input power level, transistor temperature or transistor bias (voltage, current). In such a case, equation (3) is modified to:

$\begin{matrix} {{T_{q}\left( {{{x\left( {n - q} \right)}},z} \right)} = {\sum\limits_{k = 1}^{K}{{a_{kq}(z)} \cdot {{x\left( {n - q} \right)}}^{k - 1}}}} & (4) \end{matrix}$

Expanding the coefficients a_(kq)(z) in a McLaurin series and truncating this series after M terms, one obtains:

$\begin{matrix} {{a_{kq}(z)} = {\sum\limits_{m = 0}^{M - 1}{b_{{kq},m}z^{m}}}} & (5) \end{matrix}$ where b_(kq,m) are independent of z. Using this expansion, equation (4) may be written as:

$\begin{matrix} {{T_{q}\left( {{{x\left( {n - q} \right)}},z} \right)} = {\sum\limits_{k = 1}^{K}{\sum\limits_{m = 0}^{M - 1}{b_{{kq},m}z^{m}{{x\left( {n - q} \right)}}^{k - 1}}}}} & (6) \end{matrix}$

This equation may be rearranged into partial sums containing the same power of z:

${T_{q}\left( {{{x\left( {n - q} \right)}},z} \right)} = {{\sum\limits_{k = 1}^{K}{\sum\limits_{m = 0}^{M - 1}{b_{{kq},m}z^{m}{{x\left( {n - q} \right)}}^{k - 1}}}} = {\begin{matrix} {Separate} \\ {z\mspace{14mu}{powers}} \end{matrix}\left\{ {\begin{matrix} {= {\underset{\underset{T_{q\; 0}{({{x{({n - q})}}})}}{︸}}{\sum\limits_{k = 1}^{K}{b_{{kq},0}{{x\left( {n - q} \right)}}^{k - 1}}} +}} \\ {{{+ z} \cdot \underset{\underset{T_{q\; 1}{({{x{({n - q})}}})}}{︸}}{\sum\limits_{k = 1}^{K}{b_{{kq},1}{{x\left( {n - q} \right)}}^{k - 1}}}} +} \\ \vdots \\ {{+ z^{M - 1}} \cdot \underset{\underset{T_{{qM} - 1}{({{x{({n - q})}}})}}{︸}}{\sum\limits_{k = 1}^{K}{b_{{kq},{M - 1}}{{x\left( {n - q} \right)}}^{k - 1}}}} \end{matrix} = {\sum\limits_{m = 0}^{M - 1}{{T_{qm}\left( {{x\left( {n - q} \right)}} \right)}z^{m}}}} \right.}}$

Thus, in this approximation the original polynomials T_(q)(|x(n−q) |) may be expressed as a series of polynomials T_(qm)(|x(n−q)|) multiplying different powers of z. The pre-distortion may in this approximation be written as;

$\begin{matrix} {{{PD}\left( {n,z} \right)} = {\sum\limits_{q = 0}^{Q}{{x\left( {n - q} \right)}\left\lbrack {\sum\limits_{m = 0}^{M - 1}{{T_{qm}\left( {{x\left( {n - q} \right)}} \right)}z^{m}}} \right\rbrack}}} & (7) \end{matrix}$

In this approximation a pre-distorter may be implemented by a set of look-up tables in each delay branch, as illustrated in FIG. 8. The expressions in the brackets “[ ]” in equation (7) may be viewed as “filter coefficients”.

In the non-limiting, example embodiment illustrated in FIG. 8 the delay depth is 2 (Q=2) and the McLaurin expansion includes 3 terms (M=3). Further terms and delays are possible, but these numbers have been chosen, since they are sufficiently large to illustrate the principles and sufficiently small to avoid cluttering of the figure. Each delay branch includes 3 look-up tables, for example LUT11, LUT12, LUT13, triggered by the same absolute signal value, |x(n−1) in this case. This embodiment also includes a block 16 for calculating the average power z of the input signal. Block 16 may also include a smoothing filter (for example a FIR or IIR filter) to prevent abrupt changes in the power signal. The power value is forwarded to a multiplier 18 in each branch, where it is multiplied by the value from the corresponding look-up table LUT02, LUT12 or LUT22. The power value z is also forwarded to a squaring block 20 in each branch. A multiplier 22 multiplies the resulting squared power by the value from the corresponding look-up table LUT03, LUT13 or LUT23. These products are added in adders 24, and the sums are added to the values from look-up tables LUT01, LUT11 and LUT21 in adders 26. The resulting sums from adders 26 form the filter coefficients of the filter structure. From FIG. 8 and equation (7) it is noted that the embodiment of FIG. 7 and equation (2) may be considered as the special case z=0. A method for determining the look-up tables is described in the APPENDIX.

Since the parameter z is slowly varying, the average power calculated in the common block 16 in the embodiment of FIG. 8 may instead be calculated in each delay branch. Such an embodiment is illustrated in FIG. 9. Although the outputs from blocks 16 may not be identical, they are approximately the same due to the slowly varying average power.

Another variation of the embodiment in FIG. 8 is illustrated in FIG. 10. This embodiment eliminates the squaring block 20 by rearranging the order of blocks 18, 22 and 24. It is based on the algebraic identity: a+bz+cz ² =a+(b+cz)z

A similar variation of the embodiment of FIG. 9 is illustrated in FIG. 11. It is appreciated that further equivalent embodiments may be obtained by other rearrangements of the algebraic expressions in equation (7). For example, instead of performing the multiplications by z and z² before the multiplications by the signal and delayed signals, the multiplication order may be reversed.

FIG. 12 is a block diagram of a non-limiting, example embodiment of a base station including a power amplifier provided with a pre-distorter. In FIG. 12 elements that are not necessary for understanding have been omitted. The baseband complex signal x(n) is forwarded to a pre-distorter 30 in accordance with the present invention. The pre-distorted signal is up-converted to intermediate frequency (IF) in a digital up-converter 32 and converted into an analog signal in a D/A converter 34, which in turn is up-converted to radio frequency (RF) by an analog up-converter 36. The RF signal is forwarded to a power amplifier 38, and the amplified signal is forwarded to an antenna. The amplified RF signal is also forwarded to a feedback down-conversion chain including an analog down-converter 40, an A/D converter 42 and a digital down-converter 44. The down-converted feedback signal is forwarded to a trainer 46, which also receives the pre-distorted input signal for determining the look-up tables in pre-distorter 30 in accordance with the mathematical principles described above. In this embodiment pre-distorter 30 may, for example, be implemented as in FIG. 8 or 10, but provided with a temperature sensor 48 sensing the power amplifier temperature instead of a power calculation block 16.

The pre-distorter in accordance with the present invention may be implemented as an FPGA (Field Programmable Gate Array). Another possibility is to use a micro processor or a micro/signal processor combination and corresponding software. The actual computation of the look-up table entries may be done in an off-line manner at a slow update speed.

If it is desirable to keep the look-up tables small, the resolution of |x(n)| may be coarser that the resolution of x(n).

In the description above, it has been assumed that the input signal amplitude is used as an index into the look-up tables. However, other variables that depend on the input signal amplitude, such as the instantaneous input signal power, may also be used.

Although described with reference to a FIR filter structure, it is also possible to use the same principles for an IIR (Infinite Impulse Response) filter structure, or a combination of FIR and IIR filter structures. Thus the most general filter structure in which the technology may be implemented is a discrete time filter structure.

It will be understood by those skilled in the art that various modifications and changes may be made without departure from the scope of the invention, which is defined by the appended claims.

APPENDIX

A method to compute the tables LUT00, LUT01, . . . is to use already stored tables for certain values of the parameter “z”. In this APPENDIX “z” is assumed to represent power level. However, the method is valid also for other parameters, such as power amplifier (transistor) temperature.

If we first reduce equation (7) to a memory-less system, this method can easily be explained. With the knowledge obtained from the memory-less system, the method can be extended to include also systems with memory. Thus, for a memory-less system we have: PD(n,z)=x(n)·└T ₀(|x(n)|)+z·T ₁(|x(n)|)+z ^(2 ·) T ₂(|x(n)|)┘  (A1)

The pre-distorter as expressed in equation (A1) above, is approximately valid over a certain range of power levels z. Now, if we compute the tables for 3 power levels, then it should be possible to extract three new tables T_(n). So, let us write down the three equations that will lead us to solve for T_(n). Assume first that the table T₀ is dedicated to 0 dBm power, then the equations will become: PD(n,0)=x(n)·[T ₀(|x(n)|)] PD(n,z ₁)=x(n)·[T ₀(|x(n)|)+z ₁ ·T ₁(|x(n)|)+z ₁ ² ·T ₂(|x(n)|)] PD(n,z ₂)=x(n)·[T₀(|x(n)|)+z ₂ ² ·T ₁(|x(n)|)+z ₂ ² ·T ₂(x(n)|)]  (A2)

Remember that the pre-distorters on the left-hand side of equation (A2) are known. By simplifying the formulation, these equations can be written in a slightly different way. Denoting the tables [Q₀ Q₁ Q₂] at specific power levels [0, z₁ and z₂] will give the following equations: x(n)·Q ₀(|x(n)|)=x(n)·[T ₀(|x(n)|)] x(n)·Q ₁(|x(n)|)=x(n)·[T ₀(|x(n)|)+z ₁ ·T ₁(|x(n)|)+z ₁ ² ·T ₂(|x(n)|)] x(n)·Q ₂(|x(n)|)=x(n)·[T ₀(|x(n)|)+z ₂ ·T ₁(|x(n)|)+z ₂ ² ·T ₂(|x(n)|)]  (A3)

The solution to equation (A3) is now readily at our hand as:

$\begin{matrix} {\begin{bmatrix} {T_{0}\left( {{x(n)}} \right)} \\ {T_{1}\left( {{x(n)}} \right)} \\ {T_{2}\left( {{x(n)}} \right)} \end{bmatrix} = {\begin{bmatrix} 1 & 0 & 0 \\ 1 & z_{1} & z_{1}^{2} \\ 1 & z_{2} & z_{2}^{2} \end{bmatrix}^{- 1} \cdot \begin{bmatrix} {Q_{0}\left( {{x(n)}} \right)} \\ {Q_{1}\left( {{x(n)}} \right)} \\ {Q_{2}\left( {{x(n)}} \right)} \end{bmatrix}}} & ({A4}) \end{matrix}$

So concluding this part, we see that the interpolating polynomial in equation (A1) can directly be used to compute corrections to the basic tables computed at for example z=0 dBm power. The tables T_(n) are derived from equation (A4), which in turn makes use of stored tables Q_(n). A new table for any other signal power can be computed by simply setting z= power level, and summing up the tables with these weights.

Solving the inverse matrix in equation (A4) will give the following result:

$\begin{matrix} {\begin{bmatrix} {T_{0}\left( {{x(n)}} \right)} \\ {T_{1}\left( {{x(n)}} \right)} \\ {T_{2}\left( {{x(n)}} \right)} \end{bmatrix} = {\begin{bmatrix} 1 & 0 & 0 \\ c_{21} & c_{22} & c_{23} \\ c_{31} & c_{32} & c_{33} \end{bmatrix} \cdot \begin{bmatrix} {Q_{0}\left( {{x(n)}} \right)} \\ {Q_{1}\left( {{x(n)}} \right)} \\ {Q_{2}\left( {{x(n)}} \right)} \end{bmatrix}}} & ({A5}) \end{matrix}$

So, the pre-distorter in equation (A1) can also, using the inverse matrix elements “c” of equation (A5), explicitly be written as:

$\begin{matrix} {{{PD}\left( {n,z} \right)} = {{x(n)} \cdot \begin{bmatrix} {{Q_{0}\left( {{x(n)}} \right)} +} \\ {{{+ \left( {c_{12} + {c_{22} \cdot z} + {c_{32} \cdot z^{2}}} \right)} \cdot {Q_{1}\left( {{x(n)}} \right)}} +} \\ {{+ \left( {c_{13} + {c_{23} \cdot z} + {c_{33} \cdot z^{2}}} \right)} \cdot {Q_{2}\left( {{x(n)}} \right)}} \end{bmatrix}}} & ({A6}) \end{matrix}$

As a further refinement to the solution, exactly the same strategy can be used for the polynomials (or tables) for the memory system. The two systems can be treated separately without any coupling among them.

As an example, a power amplifier is measured for input and output signals at 3 different power levels: 0 dB, −3 dB and −9 dB. For each power level, tables Q⁰⁻² that work as pre-distorters at their respective power levels are computed. The objective is to compute the parameters “c”, and then to use equation (A6) to compute a new table for power level z=−6 dB, for example.

To compute the “c”-parameters, set z₁=−3 dB, z₂=−9 dB in the calibration step, then the “c”-parameters will become:

$\begin{matrix} {\begin{bmatrix} 1 & 0 & 0 \\ c_{21} & c_{22} & c_{23} \\ c_{31} & c_{32} & c_{33} \end{bmatrix} = {\begin{bmatrix} 1 & 0 & 0 \\ 1 & \left( {- 3} \right) & \left( {- 3} \right)^{2} \\ 1 & \left( {- 9} \right) & \left( {- 9} \right)^{2} \end{bmatrix}^{- 1} = \begin{bmatrix} 1 & 0 & 0 \\ 0.444 & {- 0.5} & 0.056 \\ 0.037 & {- 0.056} & 0.019 \end{bmatrix}}} & ({A7}) \end{matrix}$

The result of using this interpolated pre-distorter compared to use a directly computed pre-distorter works very well, with only a minor difference in spectrum level close to the carrier.

It is also possible to calculate T₀, T₁ and T₂ in equation (A3) by expanding them into polynomials in |x(n)| and solving for the coefficients using the Least Mean Squares (LMS) method. This gives the further advantage of an “automatic” extrapolation of the initial tables. Thus, if tables are available for low power levels, corresponding tables for higher power levels can be obtained by extrapolation according to this method.

REFERENCES

-   [1] EP 0 813 300 A1, Loral Aerospace Corporation, “Signal     conditioner with symbol addressed lookup table based transversal     filters”. -   [2] U.S. Pat. No. 5,923,712, R. R. Leyendecker et al, “Method and     apparatus for linear transmission by direct inverse modeling”. -   [3] Lei Ding, G. Tong Zhou, Zhengxiang Ma, Dennis R. Morgan, J.     Stevenson Kenney, Jaehyeong Kim, Charles R. Giardina, (School of     electrical and computer engineering, Georgia Institute of     Technology, Atlanta), “A robust digital baseband predistorter     constructed using memory polynomials”, Manuscript submitted to IEEE     Trans. on Communication, Mar. 16, 2002. -   [4] J. Kim and K. Konstantinou, “Digital predistortion of wideband     signals based on power amplifier model with memory”, IEE Electronics     Letters, 8:th Nov. 2001, Vol. 37. No. 23. 

1. A power amplifier pre-distorter formed by a discrete-time filter structure with filter taps, wherein said filter structure includes: an individual look-up table for each filter tap, each look-up table representing a sampled polynomial in a variable representing signal amplitude; means for selecting, from each filter tap look-up table a filter coefficient that depends on the amplitude of a corresponding complex signal value to be multiplied by the filter tap; and means for compensating for changes in at least one predetermined parameter, wherein said parameter represents amplifier temperature and said compensating for changes in amplifier temperature is not dependent on memory effects of the amplifier, and wherein pre-distortion (PD(n,z)) for the power amplifier stored in the individual look-up tables is approximated as: ${{PD}\left( {n,z} \right)} = {\sum\limits_{q = 0}^{Q}\;{{x\left( {n - q} \right)}\left\lbrack {\sum\limits_{m = 0}^{M - 1}\;{{T_{qm}\left( {{x\left( {n - q} \right)}} \right)}z^{m}}} \right\rbrack}}$ where z is the predetermined parameter, q represents time, x(n) is an input signal sample, T_(qm)(|x(n−q)|) is a series of polynomials in the absolute value of the complex variable x(n−q), and M is a number of polynomial terms in the series.
 2. The pre-distorter of claim 1, wherein the discrete-time filter structure comprises a FIR filter structure.
 3. The pre-distorter of claim 1, wherein the discrete-time filter structure comprises an IIR filter structure.
 4. The pre-distorter of claim 1, wherein the discrete-time filter structure comprises a combination of a FIR filter structure and an IIR filter structure.
 5. The pre-distorter of claim 1, wherein said parameter also represents average pre-distorter input signal power.
 6. The pre-distorter of claim 1, wherein said parameter also represents power amplifier transistor bias.
 7. The pre-distorter of claim 1, wherein the means for selecting is arranged to select, from each filter tap look-up table, a filter coefficient that depends also on an instantaneous signal power of a corresponding complex signal value to be multiplied by the filter tap.
 8. A base station including a power amplifier pre-distorter formed by a discrete-time filter structure with filter taps, wherein said filter structure includes an individual look-up table for each filter tap, each look-up table representing a sampled polynomial in a variable representing signal amplitude; selection circuitry arranged to select, from each filter tap look-up table, a filter coefficient that depends on the amplitude of a corresponding complex signal value to be multiplied by the filter tap; and compensation circuitry arranged to compensate for changes in at least one predetermined parameter, wherein said parameter represents amplifier temperature and said compensation for changes in amplifier temperature is not dependent on memory effects of the amplifier, wherein pre-distortion (PD(n,z)) for the power amplifier stored in the individual look-up tables is approximated as: ${{PD}\left( {n,z} \right)} = {\sum\limits_{q = 0}^{Q}\;{{x\left( {n - q} \right)}\left\lbrack {\sum\limits_{m = 0}^{M - 1}\;{{T_{qm}\left( {{x\left( {n - q} \right)}} \right)}z^{m}}} \right\rbrack}}$ where z is the predetermined parameter, q represents time, x(n) is an input signal sample, T_(qm)(|x(n−q)|) is a series of polynomials in the absolute value of the complex variable x(n−q), and M is a number of polynomial terms in the series.
 9. The base station of claim 8, wherein the discrete-time filter structure comprises a FIR filter structure.
 10. The base station of claim 8, wherein the discrete-time filter structure comprises an IIR filter structure.
 11. The base station of claim 8, wherein the discrete-time filter structure comprises a combination of a FIR filter structure and an IIR filter structure.
 12. The base station of claim 8, wherein said parameter also represents average pre-distorter input signal power.
 13. The base station of claim 8, wherein said parameter also represents power amplifier transistor bias.
 14. The base station of claim 8, wherein the selection circuitry is arranged to select, from each filter tap look-up table, a filter coefficient that depends also on an instantaneous signal power of a corresponding complex signal value to be multiplied by the filter tap.
 15. A method for pre-distorting a signal to be input to a power amplifier using a pre-distorter formed by a discrete-time filter structure with filter taps, comprising: providing a look-up table for each filter tap that represents a sampled polynomial in a variable representing signal amplitude; selecting from each filter tap look-up table a filter coefficient that depends on the amplitude of a corresponding complex signal value to be multiplied by the filter tap; compensating for changes in at least one predetermined parameter, wherein said parameter represents amplifier temperature and said compensating for changes in amplifier temperature is not dependent on memory effects of the amplifier, and wherein pre-distortion (PD(n,z)) for the power amplifier stored in the individual look-up tables is approximated as: ${{PD}\left( {n,z} \right)} = {\sum\limits_{q = 0}^{Q}\;{{x\left( {n - q} \right)}\left\lbrack {\sum\limits_{m = 0}^{M - 1}\;{{T_{qm}\left( {{x\left( {n - q} \right)}} \right)}z^{m}}} \right\rbrack}}$ where z is the predetermined parameter, q represents time, x(n) is an input signal sample, T_(qm)(|x(n−q)|) is a series of polynomials in the absolute value of the complex variable x(n−q), and M is a number of polynomial terms in the series.
 16. The method of claim 15, wherein said parameter also represents average pre-distorter input signal power.
 17. The method of claim 15, wherein said parameter also represents power amplifier transistor bias.
 18. The method of claim 15, wherein a filter coefficient from each filter tap look-up table is selected that depends also on an instantaneous signal power of a corresponding complex signal value to be multiplied by the filter tap. 